﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using BTN04.DTO;
using System.Collections.Generic;

namespace BTN04.DAO
{
    public class NhaSanXuatDAO
    {
        public List<NhaSanXuatDTO> DanhSach()
        {
            string sql = "SELECT * FROM NhaSanXuat WHERE MaTinhTrangNhaSanXuat = 1 ";
            SqlConnection cnn = new SqlConnection(DataProvider.ConnectionString);
            cnn.Open();
            SqlCommand comand = new SqlCommand(sql,cnn);
            SqlDataReader read = comand.ExecuteReader();
            List<NhaSanXuatDTO> lst = new List<NhaSanXuatDTO>();
            while (read.Read())
            {
                NhaSanXuatDTO nsxDTO = new NhaSanXuatDTO();
                nsxDTO.MaNhaSanXuat = Convert.ToInt32(read["MaNhaSanXuat"]);
                nsxDTO.TenNhaSanXuat = read["TenNhaSanXuat"].ToString();
                nsxDTO.MaTinhTrangNhaSanXuat = Convert.ToInt32(read["MaTinhTrangNhaSanXuat"]);
                lst.Add(nsxDTO);
            }
            return lst;
        }


        public NhaSanXuatDTO LayNhaSanXuatTheoMa(int mansx)
        {
            string sql = "SELECT * FROM NhaSanXuat WHERE MaTinhTrangNhaSanXuat = 1 And MaNhaSanXuat="+mansx .ToString ();
            SqlConnection cnn = new SqlConnection(DataProvider.ConnectionString);
            cnn.Open();
            SqlCommand comand = new SqlCommand(sql, cnn);
            SqlDataReader read = comand.ExecuteReader();
            NhaSanXuatDTO nsxDTO = new NhaSanXuatDTO();
            while (read.Read())
            {
                nsxDTO.MaNhaSanXuat = Convert.ToInt32(read["MaNhaSanXuat"]);
                nsxDTO.TenNhaSanXuat = read["TenNhaSanXuat"].ToString();
                nsxDTO.MaTinhTrangNhaSanXuat = Convert.ToInt32(read["MaTinhTrangNhaSanXuat"]);
            }
            return nsxDTO ;
        }

        //Lay Thong tin Chi tiet toan Bo cua Nha San Xuat
        public List<NhaSanXuatDTO> ThongTinToanBoNhaNhaSanXuat()
        {
            string sql = "Select MaNhaSanXuat,TenNhaSanXuat,nsx.MaTinhTrangNhaSanXuat,trnsx.TenTinhTrangNhaSanXuat From NhaSanXuat nsx, TinhTrangNhaSanXuat trnsx where nsx.MaTinhTrangNhaSanXuat=trnsx.MaTinhTrangNhaSanXuat ";
            SqlConnection cnn = new SqlConnection(DataProvider.ConnectionString);
            cnn.Open();
            SqlCommand cmd = new SqlCommand(sql, cnn);
            SqlDataReader read = cmd.ExecuteReader();
            List<NhaSanXuatDTO> _danhSach = new List<NhaSanXuatDTO>();

            while (read.Read())
            {
                NhaSanXuatDTO nsxDTO = new NhaSanXuatDTO();
                nsxDTO.MaNhaSanXuat = int.Parse(read["MaNhaSanXuat"].ToString());
                nsxDTO.TenNhaSanXuat = read["TenNhaSanXuat"].ToString();
                nsxDTO.MaTinhTrangNhaSanXuat = int.Parse(read["MaTinhTrangNhaSanXuat"].ToString());
                nsxDTO.TenTinhTrangNhaSanXuat = read["TenTinhTrangNhaSanXuat"].ToString();

                _danhSach.Add(nsxDTO);


            }
            cnn.Close();
            return _danhSach;
        }
        //Lay thong tin 1 nha san xuat dua vao Ma nha san xuat
        public NhaSanXuatDTO ThongTinChiTietMotNhaSanXuat(int ma)
        {
            string sql = "Select MaNhaSanXuat,TenNhaSanXuat,nsx.MaTinhTrangNhaSanXuat,trnsx.TenTinhTrangNhaSanXuat From NhaSanXuat nsx, TinhTrangNhaSanXuat trnsx where nsx.MaTinhTrangNhaSanXuat=trnsx.MaTinhTrangNhaSanXuat and MaNhaSanXuat= " + ma;
            SqlConnection cnn = new SqlConnection(DataProvider.ConnectionString);
            cnn.Open();
            SqlCommand cmd = new SqlCommand(sql, cnn);
            SqlDataReader read = cmd.ExecuteReader();

            NhaSanXuatDTO nsxDTO = new NhaSanXuatDTO();
            while (read.Read())
            {

                nsxDTO.MaNhaSanXuat = int.Parse(read["MaNhaSanXuat"].ToString());
                nsxDTO.TenNhaSanXuat = read["TenNhaSanXuat"].ToString();
                nsxDTO.MaTinhTrangNhaSanXuat = int.Parse(read["MaTinhTrangNhaSanXuat"].ToString());
                nsxDTO.TenTinhTrangNhaSanXuat = read["TenTinhTrangNhaSanXuat"].ToString();




            }
            cnn.Close();
            return nsxDTO;
        }
        //Them 1 nha san xuat 
        public int ThemMotNhaSanXuat(NhaSanXuatDTO nsx)
        {
            string sql = string.Format("Insert into NhaSanXuat(TenNhaSanXuat,MaTinhTrangNhaSanXuat) values('{0}',{1})", nsx.TenNhaSanXuat, nsx.MaTinhTrangNhaSanXuat);
            SqlConnection cnn = new SqlConnection(DataProvider.ConnectionString);
            cnn.Open();
            SqlCommand cmd = new SqlCommand(sql, cnn);
            int kq = cmd.ExecuteNonQuery();
            return kq;

        }
        //Xoa nha san xuat
        public int XoaMotNhaSanXuat(int ma)
        {
            string sql = "Update NhaSanXuat set MaTinhTrangNhaSanXuat=2 where MaNhaSanXuat= " + ma;
            SqlConnection cnn = new SqlConnection(DataProvider.ConnectionString);
            cnn.Open();
            SqlCommand cmd = new SqlCommand(sql, cnn);
            int kq = cmd.ExecuteNonQuery();
            cnn.Close();
            return kq;

        }
        //Cap nhat nha san xuat
        public int CapNhatThongTinhNhaSanXuat(NhaSanXuatDTO nsx)
        {
            string sql = "Update NhaSanXuat set TenNhaSanXuat='" + nsx.TenNhaSanXuat + "',MaTinhTrangNhaSanXuat=" + nsx.MaTinhTrangNhaSanXuat + " where MaNhaSanXuat= " + nsx.MaNhaSanXuat;
            SqlConnection cnn = new SqlConnection(DataProvider.ConnectionString);
            cnn.Open();
            SqlCommand cmd = new SqlCommand(sql, cnn);
            int kq = cmd.ExecuteNonQuery();
            cnn.Close();
            return kq;


        }


    }
}
